#pragma once
namespace ShRp
{
	namespace Base
	{
		class Surface
		{
		public:
			static bool Init();
			static void Terminate();

			static void Line  (int2 p1, int2 p2, Color _Color);
			static void Box   (int2 p1, int2 p2, Color _Color);
			static void Bar   (int2 p1, int2 p2, Color _Color);
			static void Circle(int2 p,  int r,   Color _Color);
			static void Print (const char* _Text, int2 _Pos, Color _Color);

			static void SetClearColor( Color _Color );
			static void SetFont(const char* _FontName, int _Size);

			static void StartPaint( UI::Control* _Control );
			static void EndPaint( UI::Control* _Control );
		private:
			static Gdiplus::Color ToGDIColor(Color _Color);
			static std::wstring ToWString(const char* _Str);

			static PAINTSTRUCT* m_PaintStruct;
			static Gdiplus::Graphics* m_Graphics;
			static Gdiplus::Font* m_Font;
			static Color m_ClearColor;
		};
	};
};